/*
 * Copyright © 2018 - 2021 xulianqiang90@163.com. All Rights Reserved.
 */
package module.level.one.autogen.dao;

import org.apache.ibatis.annotations.Mapper;
import module.level.one.autogen.entity.CmsContent;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
import java.util.List;

/**
 * 内容主体 Mapper
 *
 * @author Ivan
 * @version 1.0.0
 * @date 2021-07-12 20:02:33
 */
@Mapper
public interface CmsContentDao {

    /**
     * Insert record
     *
     * @param record {@link CmsContent}
     * @return {@code int} 
     */
    int insert(CmsContent record);

    /**
     * Update record by primaryKey
     *
     * @param record {@link CmsContent}
     * @return {@code int} 
     */
    int updateByPrimaryKey(CmsContent record);

    /**
     * Select by primaryKey
     *
     * @param record {@link Integer}
     * @return {@link CmsContent}
     */
    CmsContent selectByPrimaryKey(@Param("record") Integer record);

    /**
     * Select by primaryKey
     *
     * @param id {@link Integer}
     * @return {@literal Map<String, Object>}
     */
    Map<String, Object> selectByPrimaryKey1(@Param("id") Integer id);

    /**
     * Select by primaryKey
     *
     * @param id {@link Integer}
     * @return {@literal Map<String, Object>}
     */
    Map<String, Object> selectByPrimaryKey2(@Param("id") Integer id);

    /**
     * Select list
     *
     * @param query {@link CmsContent}
     * @return {@literal List<CmsContent>}
     */
    List<CmsContent> selectList(CmsContent query);

    /**
     * Select list
     *
     * @param query {@literal Map<String, Object>}
     * @return {@literal List<CmsContent>}
     */
    List<CmsContent> selectList1(Map<String, Object> query);

    /**
     * Select list
     *
     * @param query {@literal Map<String, Object>}
     * @return {@literal List<Map<String, Object>>}
     */
    List<Map<String, Object>> selectList2(Map<String, Object> query);
}